home *** CD-ROM | disk | FTP | other *** search
/ Delphi Developer's Kit 1996 / Delphi Developer's Kit 1996.iso / power / tqbe3 / demo / udemoqbe.pas < prev   
Encoding:
Pascal/Delphi Source File  |  1995-12-22  |  2.4 KB  |  104 lines

  1. unit Udemoqbe;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, DB, DBTables, Grids, UTqbe, DBGrids, StdCtrls, Buttons;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Database1: TDatabase;
  12.     DataSource1: TDataSource;
  13.     DBGrid1: TDBGrid;
  14.     QBE1: TQBE;
  15.     Table1: TTable;
  16.     DataSource2: TDataSource;
  17.     DBGrid2: TDBGrid;
  18.     Label1: TLabel;
  19.     Label2: TLabel;
  20.     Label3: TLabel;
  21.     Edit1: TEdit;
  22.     Label4: TLabel;
  23.     Label5: TLabel;
  24.     BitBtn1: TBitBtn;
  25.     Label6: TLabel;
  26.     procedure DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  27.       Field: TField; State: TGridDrawState);
  28.     procedure QBE1AfterOpen(DataSet: TDataset);
  29.     procedure Edit1Change(Sender: TObject);
  30.     procedure FormCreate(Sender: TObject);
  31.     procedure BitBtn1Click(Sender: TObject);
  32.   private
  33.     { Private declarations }
  34.   public
  35.     { Public declarations }
  36.   end;
  37.  
  38. var
  39.   Form1: TForm1;
  40.  
  41. implementation
  42.  
  43. {$R *.DFM}
  44. Uses QBENews;
  45.  
  46. procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  47.   Field: TField; State: TGridDrawState);
  48. begin
  49.   With DBGrid1,Canvas do
  50.   Begin
  51.     FillRect(Rect);
  52.     if Field.FieldNo=1 then Font.Color:=clRed
  53.                        else Font.Color:=clGreen;
  54.     TextOut(Rect.Left,Rect.Top,Field.AsString);
  55.   End;
  56. end;
  57.  
  58. procedure TForm1.QBE1AfterOpen(DataSet: TDataset);
  59. begin
  60.   Table1.Active:=True;
  61. end;
  62.  
  63. procedure TForm1.Edit1Change(Sender: TObject);
  64. begin
  65.    With QBE1 do
  66.    Begin
  67.      Table1.Active:=False;
  68.      Screen.Cursor:=crHourGlass;
  69.      try
  70.        Close;
  71.        ClearParams;  { resetting number of params to zero (no params) }
  72.        { we look for companies starting with Edit1.Text, so we add the ".." }
  73.        AddParam('MyParam',Edit1.Text+'..');
  74.        { more params can be added
  75.          AddParam('TODAY','>=12/1/95,<=12/31/95);
  76.          ...
  77.          REMEMBER: Params can substitute everything you want in the query
  78.                    (including field names, qbe clauses, etc...)
  79.        }
  80.        Open;
  81.      finally
  82.        Table1.Active:=True;
  83.        Screen.Cursor:=crDefault;
  84.      end;
  85.    End;
  86. end;
  87.  
  88. procedure TForm1.FormCreate(Sender: TObject);
  89. begin
  90.  Edit1Change(Self); { provoque the refresh at start }
  91. end;
  92.  
  93. procedure TForm1.BitBtn1Click(Sender: TObject);
  94. begin
  95.  With TQBENewsDlg.Create(Self) do
  96.  try
  97.    ShowModal;
  98.  finally
  99.    free
  100.  end;
  101. end;
  102.  
  103. end.
  104.